home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / wp / trs141f.zip / TERSE.DOC < prev    next >
Text File  |  1992-08-01  |  48KB  |  1,081 lines

  1.                                  "You can never be too rich, too thin, or
  2.                                     have too much RAM and Disk  storage."
  3.  
  4.                                       Ancient American proverb, ca. 1980
  5.                                         (As quoted by the QEDIT manual.)
  6.  
  7.          /-------------------\
  8.          | TERSE Version 1.4 |
  9.          \-------------------/
  10.  
  11.           Tiny ``BRIEF''-like editor by
  12.           Joseph (Yossi) Gil.
  13.  
  14.  
  15. TERSE is a tiny (only 4096 bytes) but amazingly powerful full-screen
  16. editor for files of up to 64K in length. TERSE runs on all PC compatible
  17. machines. Its command keys are very similar to those of the famous BRIEF
  18. editor (by UnderWare Inc.). TERSE can edit both UNIX and MS-DOS style text
  19. files as well as binary files. No hacker's disk is complete without it.
  20. No disk, be it hard or floppy, is too full to include it.
  21.  
  22. TERSE is free (but copyrighted) to private users.  If you are a private 
  23. user who uses TERSE "for pleasure", you are not required to register.  
  24. However, if you use TERSE for any commercial application, i.e., in your 
  25. company, at work, etc., or make money from selling software or distributing 
  26. shareware, you are *required* to register your copy of TERSE.  Registration 
  27. cost is only $15 and buys you a personalized version, and grant your
  28. institution a site license.  Yes, this is correct, the whole site such as
  29. a university with all its PCs, need only register once.  For an additional
  30. payment of only $5, you get the source code of TERSE.
  31.  
  32.  
  33. Highlights
  34. ==========
  35.  
  36.  o  Very small: fits in 4096 bytes = 4 clusters on 5.25"/3.5" floppies.
  37.  o  Minimal free memory requirements: 137KB.
  38.  o  Uses current screen size, including the most common 80x25 screen
  39.     dimensions but also unusual sizes such as 40x16, 40x25, 40x40,
  40.     40x50, 132x25, 132x43, 96x33, 80x30, 80x33, etc.
  41.  o  Fully DESQview (version 2.0 and above) aware.
  42.  o  Edit binary files. TERSE is ideal for a quick and dirty job
  43.     of editing and patching strings in small programs. 
  44.  o  Supports editing of UNIX style files (lines terminated with '\n').
  45.  o  Supports both '/' and '\' as directory separator.
  46.  o  Edit lines of unlimited length (limited only by file size).
  47.  o  Automatic unlimited horizontal scrolling.
  48.  o  BRIEF-like keyboard configuration.
  49.  o  Support for TABS, and configurable tab positions.
  50.  o  Prevents snow when run on a CGA screen.
  51.  o  CUT, COPY and PASTE
  52.  o  SEARCH, SEARCH again, and TRANSLATE commands.
  53.  o  Safe: confirm exits when text is not saved.
  54.  o  Edit files whose name contains spaces and other weird names.
  55.  o  Extended version (the SLIM editor) of size ~5k with many more
  56.     features, including support (via external filters) for word count, 
  57.     sorting, charcter codes translations, quoting, tab expansion and
  58.     unexapnsion, and other complex editing tasks.
  59.  o  Status line indicating: current column, current line, horizontal
  60.     scrolling, total number of lines, file name, modified status,
  61.     insert/overwrite status, the current offset in file and total file size 
  62.     in bytes are dispalyed in the status line. The extended version 
  63.     also displays the HeX value of the current char.
  64.  
  65.  
  66. Requirements
  67. =============
  68.  
  69.  o  PC-DOS/MS-DOS version 2.0 or higher
  70.  o  137KB free memory
  71.  o  64KB free disk space
  72.  
  73.  
  74. Disclaimer 
  75. ==========
  76.  
  77. This program is written in highly optimized assembly language.  The code
  78. is probably the worst spaghetti you have ever seen!  This means that the
  79. risk of TERSE having bugs is especially high.  The author exterminated
  80. all the bugs he identified, and he did his very best to test the program
  81. thoroughly.  However, there might still be other unidentified bugs lurking
  82. there.  These bugs by nature are unpredictable.  Usage of the program
  83. acknowledges the following disclaimer of warranty: "This program is
  84. supplied as is!"  All warranties, expressed or implied, including, without
  85. limitation, the fitness of this program for any purpose, are disclaimed.
  86.  
  87.  
  88. Problems, Questions, Suggestions?
  89. =================================
  90.  
  91. Please do not hesitate to communicate all your thoughts and comments.
  92. I answer all my E-mail usually in less than 24 hours.  If you do not get
  93. a response within a reasonable time, it is probably because I didn't
  94. get your message, or because I wasn't able to reply.  Kindly try sending
  95. again using another route, and include more alternate return paths.
  96.  
  97.  
  98. Compatibility
  99. =============
  100.  
  101. TERSE uses only pure 8088 instructions and assumes the bare minimum
  102. of the underlying operating system.  It should run on your good
  103. old original 4Mhz IBM-PC running under DOS 2.0 as well as on a fast
  104. 80486 50Mhz machines running DR DOS 6.0 + 4DOS 4.0, or OS/2 in DOS
  105. compatibility mode.  More than once during the development, I had a
  106. chance to save a few bytes by using a more advanced instruction, or
  107. by assuming a more advanced operating system version.  I managed to
  108. resist this temptation.  Other than that every dirty assembly trick I
  109. could think of was used.  It is conceivable that some of the tricks
  110. could prevent TERSE from running on some DOS-like environments and
  111. simulators, although I don't know of any concrete example.
  112.  
  113.  
  114. UNIX style files
  115. ================
  116.  
  117. TERSE edits UNIX style files directly.  That is, TERSE uses
  118. both '\n' (aka LF, aka Line-Feed) and a '\r\n' (aka CRLF, aka
  119. Carriage-return + Line-feed) combo for line ends.  Hitting ENTER
  120. puts '\r\n' into the file, and Ctrl-ENTER puts '\n'.  (Configuration 
  121. utilities allow swapping these 2 keys.)  Thus, you can transfer UNIX 
  122. text files to your PC, edit them on the PC, and then transfer them 
  123. back without need for file conversion.
  124.  
  125.  
  126. Binary files editing
  127. ====================
  128.  
  129. TERSE can edit binary files as well.  To aid in this task, the
  130. status line displays the file size in bytes and the current offset
  131. in bytes in the file. The status line of the SLIM editor displays
  132. the hexadecimal value of the current char.  (This feature may be
  133. added in the future, space permitting to TERSE.)  A difficulty in
  134. editing binary files is that the following characters: space (ASCII 32), 
  135. Null (ASCII 0), and Meta-Del (ASCII 255) all look the same.  If you have
  136. an EGA or VGA screen you may want to use the font loaders WITHFONT or 
  137. LOADFONT together with the binary editing font and circumvent
  138. this difficulty.
  139.  
  140.  
  141. Configuration Utilities
  142. =======================
  143.  
  144. The configuration utilities allow you to: swap the Enter and
  145. Ctrl-Enter keys, change the tab size to 2/4/8/16 (I personally prefer
  146. tabs set every 4 characters), and modify the key assignments (with
  147. some minor restrictions).  In addition, you can eliminate the snow
  148. check done automatically on CGA screens, and you get better support
  149. (as described above) for editing binary files on EGA/VGA screens.
  150.  
  151.  
  152. Future
  153. ======
  154.  
  155. The main constraint in adding features to TERSE is that its total
  156. size must be exactly 4096 bytes.  All additions are dependent on my
  157. ability to squeeze the current code further.  I usually work several
  158. hours, and sometimes days, for each byte squeezed.  And this task is
  159. getting harder and harder all the time.  (A few versions had a slack
  160. of very few bytes.  In these versions, a few dummy bytes were appended
  161. to the program to keep its size 4096 bytes exactly.)
  162.  
  163. I have several other possible directions for the development of TERSE.
  164. These directions are: ``the TERSE family'' and ``the TERSE library''.
  165. I am looking forward to hearing from _you_, the user, about what you
  166. think of these ideas.
  167.  
  168. The TERSE library is an object code library which could be invoked
  169. from a C program. The members of the TERSE family are:
  170.  
  171.     LEAN    A 3K file viewer.  This is basically TERSE without the
  172.             editing code.  Naturally, LEAN could never compete with the
  173.             excellent LIST utility of Vernon D. Buerg, and other
  174.             fine tiny file-listers.
  175.  
  176.     SLIM    An extended  TERSE version (at the 5K level) with some extra
  177.             features.  Some features for which I have received requests
  178.             are:
  179.  
  180.             o  Read file into buffer.
  181.             o  Move to editing another file.
  182.             o  Go to line.
  183.             o  Word wrap, margin setting and word-wrap on/off.
  184.             o  Backward search.
  185.             o  Edit next file in command line.
  186.  
  187.  
  188. Files
  189. =====
  190. TERSE is distributed in two forms: the full distribution and an
  191. abridged version.  The full distribution consists of the following
  192. files: (files marked with * are missing in the abridged version.)
  193.  
  194. T.COM           The actual TERSE editor program.  No other files are
  195.                 necessary for proper operation of TERSE.
  196.  
  197. TERSE.DOC       This file.  The documentation for the program. It may
  198.                 be printed by:
  199.  
  200. PRINTDOC.BAT    A  batch file for printing the documentation of TERSE.
  201.                 This file also prints MID-EAST.MBX if you created it.
  202.  
  203. _DESC.BTM       A 4dos batch file for creating file name description
  204.                 for the above files.
  205.  
  206. MID-EAST.R13*  (rotate 13 encrypted file).
  207.  
  208.  
  209. MID-EAST.MBX*   Some facts and tips about the Middle East (uncrypted).
  210.                 This file is _not_ part of the distribution, but it
  211.                 can be created by
  212.  
  213. UNROT13.BAT     Batch file to (i) create MID-EAST.MBX from MID-EAST.R13
  214.                 using the ROT13 filter,  and (ii) display MID-EAST.MBX
  215.                 using L.COM.
  216.  
  217. PRTIP.BAT       Batch file to send MID-EAST.MBX to the printer
  218.  
  219. L.COM*          A pre-release of the LEAN file lister.
  220.  
  221. S.COM*          A pre-release of the SLIM editor, an extended version of
  222.                 TERSE.
  223.  
  224. H.COM*          A pre-release of SLIM built especially for the HP 95lx
  225.                 palmtop computer.  You can use the configuration
  226.                 utilities to limit the file size to 32KB, thus reducing
  227.                 the memory requirements.  The help screen is minimized to
  228.                 16x40 chars.  The program has special code for detecting
  229.                 the  HP9LX,  and if one is detected, only the top left
  230.                 16x40 part of the virtual screen is used.
  231.  
  232. TCONFIG.COM*    Configuration program for T.COM.
  233.  
  234. SCONFIG.COM*    Configuration program for S.COM.
  235.  
  236. LCONFIG.COM*    Configuration program for L.COM.
  237.  
  238. HCONFIG.COM*    Configuration program for H.COM.
  239.  
  240. TKEYS.COM*      Keyboard configuration program for T.COM.
  241.  
  242. SKEYS.COM*      Keyboard configuration program for S.COM.
  243.  
  244. SKEYS.COM*      Keyboard configuration program for H.COM.
  245.  
  246. MXIFY.COM*      A pre-release of a program which gives TERSE and its
  247.                 partners an EMACS style. Usage is:
  248.  
  249.                     MXIFY T filename
  250.  
  251. BIGC.COM*       A program to set a big cursor (Useful on PALMTOPS.)
  252.  
  253. LITC.COM*       A program to set a little cursor (Useful on PALMTOPS.)
  254.  
  255. ESC.COM*        A program to send ESCAPE characters.  Examples of usage
  256.                 are:
  257.  
  258.                  ESC [7m
  259.                  ESC 0 > prn
  260.  
  261. ROT13.COM*      A "rotate 13" filter.
  262.  
  263. LF.COM*         Filter.  DOS to UNIX text file translation program.
  264.                 Run 'lf -h' to see a manual page.
  265.  
  266. CRLF.COM*       Filter.  UNIX to DOS text file translation program.
  267.                 Run 'crlf -h' to see a manual page.
  268.  
  269. CAT.COM*        Filter.  Concatenate files. Like UNIX cat.
  270.  
  271. QUOTE.COM*      Filter.  Quote text by prepending '> ' to lines
  272.  
  273. WC.COM*         Filter.  Count lines, words, chars.  Like UNIX wc.
  274.  
  275.  
  276. UUDECODE.COM*   Filter. A program to convert uudecoded files back 
  277.                 to binary. Like UNIX uuedecode
  278.  
  279. EXPAND.COM*     UNIX-like filter. Expand tabs into spaces. 
  280.                 Run 'expand -h' to see a manual page.
  281.  
  282. UNEXPAND.COM*   UNIX-like filter. Compress spaces into tabs
  283.                 Run 'unexpand -h' to see a manual page.
  284.  
  285. FOLD.COM*       UNIX-like filter. Fold long lines for finite width 
  286.                 output device. Run 'fold -h' to see a manual page.
  287.  
  288. TT.BAT*         Call terse on multiple files/wildecards
  289.  
  290. TTALIAS.BTM*    Demo: make 4DOS aliases for terse
  291.  
  292. NFMT.ZIP*       UNIX fmt-like formatter. NFMT is a simple text 
  293.                 formatter, which is very similar to the BSD program
  294.                 fmt(1).  However NFMT uses a best-fit line breaking
  295.                 algorithm, by a simple version of "Breaking Paragraphs
  296.                 into Lines", Donald E. Knuth and Michael F. Plass,
  297.                 "Software--Practice and Experience" 11 (1981)
  298.                 1119-1184.  Author: Ross Paterson <rap@doc.ic.ac.uk>,
  299.                 porting to Turbo-C by Yossi Gil <yogi@cs.ubc.ca>.
  300.                 This archive includes the following files:
  301.     
  302.                 NFMT.EXE     The NFMT filter
  303.  
  304.                 NFMT.DOC     UNIX manual page for NFMT.EXE
  305.  
  306.                 NFMT.1       UNIX manual page for NFMT.EXE 
  307.                              (nroff -man source)
  308.  
  309.                 NFMT.C       Main C source file of NFMT.EXE
  310.  
  311.                 CONFIG.H     Machine dependent parameters for NFMT.C
  312.  
  313.                 OPTIONS.H    Source for NFMT.EXE command line 
  314.                              options manipulation
  315.  
  316.                 SAMPLE.INP   Sample input file for NFMT.EXE
  317.  
  318.                 SAMPLE.OUT   Correct output of NFMT sample.inp
  319.  
  320.                 README       Readme file for the NFMT distribution
  321.  
  322.                 MAKEFILE     Makefile for the NFMT distribution
  323.  
  324.  
  325.  
  326. How to obtain TERSE
  327. ===================
  328.  
  329. TERSE is available from Simtel, Garbo, Wustl, their mirrors and from
  330. other fine ftp archive sites.  Some of these sites have mail-servers
  331. for those who do not have access to ftp.  Some of these sites carry
  332. only the abridged distribution.
  333.  
  334. In addition, the latest version of TERSE is regularly deposited in
  335.  
  336.     cs.ubc.ca: /pub/pickup/terse/trsXXX[af].zip
  337.     wuarchive.wustl.edu: /pub/MSDOS_UPLOADS/trsXXX[af].zip
  338.  
  339. Where XXX denotes the three digit version number. For example,
  340. the full distribution of version 1.41 would be in a file named
  341. trs141f.zip.
  342.  
  343.  
  344. If you are experiencing problems downloading these files (cs.ubc.ca is
  345. picky for no real reason sometimes), or if you don't have FTP access,
  346. please drop me a line and I will e-mail to you whichever distribution
  347. you are interested in.  The full distribution is sent out in 4 parts of
  348. about 1000 uuencoded lines each.  The abridged distribution (basically
  349. just the TERSE editor and the manual) goes in one part of about 600
  350. uuencoded lines.  You can use the UUDECODE.COM program enclosed with
  351. this archive to decode this mail.
  352.  
  353.  
  354. License (copying policy)
  355. ========================
  356.  
  357. The following policy is intended to promote free private use and
  358. distribution, and to collect money from those who can afford to pay
  359. for this software.  In particular, those institutions which make money
  360. from private users are requested to pass on part of their income to
  361. whoever is responsible for generating it.
  362.  
  363. PRIVATE USERS:  You are free to use, copy and distribute TERSE for
  364. noncommercial private use provided that:
  365.  
  366.    A) No fee is charged for use, copying or distribution.
  367.  
  368.    B) It is not modified in any way.
  369.  
  370.    C) It is distributed as a package.  All files in this package must be
  371.    included, none should be added, and none should be changed.
  372.  
  373. Thus if you are a private user, you can *use* TERSE freely, and you
  374. are under no obligation to register.  (The only restriction is on its
  375. further distribution.)
  376.  
  377.  
  378.  
  379. Registration (Private users)
  380. ============================
  381.  
  382. If you find TERSE a useful, easy, and nifty editor you may show your
  383. appreciation in one of two ways:
  384.  
  385.    A) Send the author the $15 US dollars registration fee.
  386.       TERSE, the configuration utilities and, if you wish, a per-
  387.       sonalized version, and the author will do his best to update
  388.       them as soon as a new version comes out.
  389.  
  390.       Please, do register if you can afford it, and if you would
  391.       like to support financially the production of this high quality
  392.       software.
  393.  
  394.    B) Decrypt, print and read the enclosed MID-EAST.R13 file, and
  395.       learn some facts about the Middle East and about its role, its
  396.       problems, etc.
  397.  
  398.       IMPORTANT: The file is given in "ROT13 form".  This means that
  399.       although it contains only pure printable ASCII characters, it
  400.       has to be decrypted before you can read it.  A ROT13 filter is
  401.       supplied with TERSE so that you can decrypt it.  The easiest way
  402.       to decrypt, and then print this file is to:
  403.  
  404.       1) Run the enclosed UNROT13.BAT batch file.  Doing so produces
  405.          MID-EAST.MBX, a clean version of MID-EAST.R13, then display
  406.          the MID-EAST.MBX file with LEAN.
  407.  
  408.       2) To print MID-EAST.MBX, run the enclosed PRTIP.BAT batch file.
  409.       Also, if MID-EAST.MBX exists when you run the PRINTDOC.BAT
  410.       batch file, it will be printed as well.
  411.  
  412.       This somewhat complicated form of distribution is partly so
  413.       that you will feel that you have applied some conscious effort
  414.       to read it.  Another reason is that those who do not wish to
  415.       read this file can easily refrain from doing so.
  416.  
  417.       MID-EAST.R13 is an integral part of the TERSE distribution,
  418.       but it is not required for the normal operation of TERSE.
  419.       It is supplied so that you can show your support for the quality
  420.       and the concept of TERSE, if you cannot afford to register, by
  421.       reading it.
  422.  
  423.       Side comment: Being outside of home for some time, I have
  424.       learned that many things about the Middle-East are reflected
  425.       in a very distorted manner in the media.  The file MID-EAST.MBX
  426.       is part of a large file which I am compiling which consists of
  427.       verifiable facts gathered from various resources about Israel
  428.       and the Middle East (political views are filtered out).
  429.  
  430.       MID-EAST.MBX is expected to give you, the reader, a more
  431.       informed perspective on events in the Middle East and on the
  432.       author's country.
  433.  
  434.       This version of MID-EAST.MBX has facts and papers about the
  435.       the Hizbullah.
  436.  
  437.       Occasionally, I change the contents of MID-EAST.R13, to keep it
  438.       relevant and interesting.  I hope that the quality of TERSE will
  439.       encourage you to learn more about the country of its author.
  440.       Naturally, you are under no obligation to do so.
  441.  
  442.  
  443. NON_PRIVATE USE:  Institutions and companies MUST register this package
  444. after an evaluation period of 21 days.  Registration of one copy per
  445. company site is sufficient.
  446.  
  447. NON-PRIVATE DISTRIBUTION (Shareware distributors):  You may distribute
  448. this package as long as no more than a nominal fee (up to $10) per
  449. disk is collected per disk.
  450.  
  451. NON-FEE DISTRIBUTION: Simtel/ Garbo/ other FTP collections: Obviously,
  452. you may store this package and offer it to your users free of any
  453. restrictions.
  454.  
  455.  
  456. Author's Address
  457. ================
  458. E-mail: (try addresses in this order)
  459.  
  460.     yogi@cs.ubc.ca          (University of British Columbia, Vancouver, 
  461.                              British Columbia, Canada),
  462.     yogi@umiacs.umd.edu     (University of Maryland, Maryland, USA)
  463.     yogi@cs.technion.ac.il  (Technion -- Israel's institute of technology, 
  464.                              Haifa, Israel),
  465.     yogi@cs.huji.ac.il      (Hebrew University, Jerusalem, Israel),
  466.  
  467. North  America mailing address (until October 1st 1992):
  468.     1418 Park Drive, Vancouver,  B.C. V6P  2K7,  Canada.
  469.  
  470. Permanent mailing address  is:
  471.     Joseph  Gil,
  472.     P.O. Box 3148,
  473.     Jerusalem,
  474.     Israel.
  475.  
  476. Hebrew mailing address (you cannot read the following unless your
  477. screen adapter can display Hebrew characters):
  478.                                                              îëé ëæàë
  479.                                                             3148 .â.Ü
  480.                                                               ìëîÖàÿë
  481.  
  482.  
  483. Genealogy
  484. =========
  485.  
  486. TERSE is an exercise of editor writing inspired by TED, the famous
  487. Tiny EDitor (written by Tom Kihlken and published November 1988 in PC
  488. Magazine, Copyright 1988 Ziff Communications Co.).  Some features of
  489. TERSE are borrowed from the fine descendants of TED called TEDPLUS
  490. (apparently also written by Tom Kihlken in November 1988) and TED2
  491. (written by James E. Galbraith, 1201 Chase St., Novato CA, 94945, USA).
  492.  
  493. There is not a single piece of code in TERSE which is the same as in
  494. TED, TEDPLUS or TED2.  TERSE represents almost three years of work on
  495. space optimization of the code, and on added functionality. Some of
  496. the newly added features include help screen, unlimited line length,
  497. space optimization of the code, and on added functionality.  Some of
  498. the newly added features include the help screen, unlimited line length,
  499. status line, smooth horizontal scrolling, previous and next word,
  500. UNIX files editing, search and replace, safety features and support
  501. for insertion of all 256 characters of the IBM-PC extended ASCII set
  502. (including <Nul>, <BS>, <CR>, and <LF>).  Some old features include
  503. scrolling, cut, copy, paste, and printing operations.
  504.  
  505. Some of the documentation for TERSE is based on the documentation
  506. provided with TED2.  See the article "The tiniest editor you'll ever
  507. need" by Tom Kihlken, in the November 15, 1988 issue of PC Magazine
  508. for further details concerning TED. TED, TEDPLUS and TED2 are
  509. available from SIMTEL20:
  510.  
  511.     TED         PD1:<MSDOS.PCMAG>VOL7N19.ARC
  512.     TEDPLUS     PD1:<MSDOS.EDITOR>TEDPLUS.ARC
  513.     TED2        PD1:<MSDOS.EDITOR>TED2.ZIP
  514.  
  515. TERSE is not related in any way to TED3.
  516.  
  517.  
  518.  
  519. DESCRIPTION
  520. ===========
  521.  
  522. Synopsis
  523.                                t [filename]
  524.  
  525. To invoke  TERSE, just type  "T" from the  DOS command line,  optionally
  526. followed by a filename.
  527.  
  528. File
  529. ----
  530. TERSE opens and reads a file whose name (and path, if required) is
  531. initially supplied on the command line.  If no file name is provided,
  532. TERSE opens a new file.  A name may be supplied later during the
  533. editing session using the "Output" command invoked by <Alt-O>.
  534. TERSE expects a legal DOS filename, which may include a path name.
  535. TERSE can also edit files whose names contain spaces.  These names
  536. are legal, although most DOS commands cannot manipulate them.
  537.  
  538. Upon save, the original of the modified file is saved with the
  539. extension .BAK. If an exit is attempted without a save, TERSE prompts
  540. for confirmation.  If the file has the Read-Only attribute set, TERSE
  541. opens the file to allow browsing, but does not allow any edit changes.
  542.  
  543.  
  544. Basic Editing
  545. -------------
  546. A help screen is available upon pressing <F1> or <Alt-H>.  When the help
  547. screen is displayed, pressing any key returns you to the text.
  548.  
  549. In TERSE, the cursor movement keys (Left, Right, Up, Down, PgUp,
  550. PgDn, etc.) allow you to move around in the text.  Text is entered
  551. in insert mode by default. Text can be deleted using the <Del> and
  552. <BackSpace> keys.
  553.  
  554. Pressing the <Alt-I> key will toggle between Insert and Overstrike
  555. mode.  The Insert/Overwrite state is displayed by an 'Ins' or 'Ovr'
  556. in the status line.
  557.  
  558. Text can be deleted using the <Del> and <BackSpace> keys.
  559.  
  560. The <Alt-U> key restores up to 255 characters deleted by the <Del>
  561. key or overwritten while in the Overwrite mode.  The <Alt-U> key
  562. only restores the last character deleted with the <Backspace> key.
  563.  
  564. TERSE text buffer is limited to 65535 characters.  An attempt to extend
  565. the buffer beyond that results in a short beep.
  566.  
  567.  
  568. Lines
  569. -----
  570. Lines may be of any length.  TERSE recognizes both the UNIX and DOS
  571. conventions for line termination, i.e., both the <CR><LF> pair and a
  572. single <CR> denote end of line.  Off screen characters may be viewed by
  573. moving the cursor toward them.  Lines may be broken by pressing <Enter>
  574. (insert <CR><LF> pair) or <Ctrl Enter> (insert <CR> character) at
  575. any point, in either Insert or Overstrike mode.  Lines may be joined
  576. by pressing <Del> at the line end or <Backspace> at the beginning.
  577. Pressing <Alt-D> deletes the entire line and closes the gap.  Pressing
  578. <Alt-K> deletes from the cursor position to the end of the present
  579. line.  Pressing <Alt-G> restores the most recent line deletion.
  580. The line delete buffer remains intact until another line is deleted.
  581. The line delete buffer has room for 255 characters.
  582.  
  583. Block
  584. -----
  585. A Block is some portion of the text file which has been specifically
  586. delineated for later manipulation.  One end of a "block" of text is
  587. defined by hitting <Alt-A> key (anchor drop/raise).  The other end of
  588. the block is where the cursor is located.  Move the cursor with the
  589. cursor control keys to the block end.  As you move the cursor, note
  590. that the blocked area is shown in reverse video.  The <Alt-A> is a
  591. toggle key, so hitting it again raises the anchor dropped at the
  592. block end, and thus cancel the blocking operation.
  593.  
  594. Pressing the <Grey-> key (keypad grey minus key) removes the block to a
  595. paste buffer; this operation is known as "Cut".  The <Grey+> key copies
  596. the block to the paste buffer without removing it from the text; this
  597. operation is known as "Copy".  The <Ins> key copies the text stored in
  598. the paste buffer at any point where the cursor is located; this operation
  599. is known a "Paste".  The paste buffer remains intact until another section
  600. is marked and cut or copied.  The paste buffer has room for 64K bytes.
  601.  
  602. When a block is marked, pressing <Alt-P> prints the marked text (directly
  603. from the file buffer).  After the print, the block remains marked.
  604.  
  605.  
  606. Search and Replace
  607. ------------------
  608. TERSE has a string "Search" and "Next" functions.  When the <Alt-S>
  609. key is pressed, the prompt "Search for: " appears on the bottom line.
  610. Enter the desired text string and press the <ENTER> key.  If the
  611. string is found, it appears blinking in inverse video on the screen.
  612. The blinking inverse video is extinguished when any key is pressed.
  613. If the string is not found in the area following the cursor, a short
  614. beep sounds. To search for the next occurrence of the string,
  615. press <Alt-N>.  TERSE cannot search backward, and it doesn't recognize
  616. regular expressions.
  617.  
  618. TERSE also has a "Translate" function which is invoked by pressing
  619. the <Alt-T> key.  You are prompted for the string to search for,
  620. and then for the replacement string.  The "translate" function is
  621. best explained by an example.  To change all occurrences of the acronym
  622. "PLO" in your file to the two-word phrase "Terrorist Organization",
  623. you would move to the beginning of the file (Press <Ctrl-PgUp>) and
  624. then press <Alt-T>.  TERSE erases the status line (the last screen
  625. line) and displays in its place a prompt:
  626.  
  627.             Search for: _
  628.  
  629. (The underscore in the above indicates the cursor position).  Type in
  630. the word: PLO.  The <BackSpace> key can be used for erasing the previous
  631. character.  The last line should now read:
  632.  
  633.             Search for: PLO_
  634.  
  635. Hit <Enter>.  (Hitting <ESC> at this stage ends the translate
  636. operation.)  TERSE now prompts you for the replacement string in
  637. the last screen line:
  638.  
  639.             Replace with: _
  640.  
  641. Type in the phrase: Terrorist Organization.  The last screen line
  642. now reads:
  643.  
  644.             Replace with: Terrorist Organization_
  645.  
  646. Hit <Enter>. (Again, hitting <ESC> at this stage ends the
  647. translate operation.)  TERSE searches for the first occurrence of
  648. "PLO" in your file, moves the cursor to this point, displays "PLO" in
  649. blinking inverse video, and then prompts you in the last screen line:
  650.  
  651.             Replace with: Terrorist Organization [Yes/No/All]?
  652.  
  653. Your response could be to hit 'Y' or 'y', which means Yes, make
  654. this replacement; or 'N' or 'n' which means No, do not make this
  655. replacement.  In both cases, TERSE continues by moving to the next
  656. occurrence of the string "PLO" and prompts you again.  You may also
  657. answer the prompt by hitting <Esc>, which aborts the translate
  658. operation.  If you wish to replace unconditionally all occurrences of
  659. the string "PLO" with "Terrorist Organization" (be warned that
  660. it may take a considerable time for a long file), respond with 'A' or
  661. 'a'.  TERSE marches through the file and makes these replacements for you.
  662.  
  663. Search and Search - Replace are by default case insensitive.
  664. This means that the search catches all of the following strings:
  665. plo, PLO, pLo, etc.  Pressing <Alt C> changes both Search and
  666. Search - Replace to be case sensitive.  Pressing <Alt C> again
  667. returns you to the case insensitive Search and Search - Replace.
  668. Note that a short message appears in the status line whenever case
  669. sensitivity is toggled.  This message is erased, and the normal
  670. status line reappears, when you go on with your work.
  671.  
  672. Character Set and Binary file editing
  673. --------------------------------------
  674. Any of the characters in the IBM extended ASCII set can be entered
  675. and manipulated by TERSE.  To enter control characters (ASCII 00-31
  676. and 127), use <Ctrl-@>, <Ctrl-A>, ... , <Ctrl-Z>, <Ctrl-[>, <Ctrl-\>,
  677. <Ctrl-]>, <Ctrl-^>, <Ctrl-_> and <Ctrl-Backspace>.  A more general
  678. method is to press the Alt key and, without releasing it, type a
  679. character ASCII decimal value on the numeric keypad.  The PC-BIOS
  680. does not support entry of the <Nul> character (00h) in this fashion.
  681. Instead, you may enter the <Nul> character by hitting the <Ctrl @> key.
  682.  
  683. The ASCII Backspace (BS) code can be entered as <Ctrl-H>, and the
  684. <Backspace> key deletes the character to the left of the cursor.
  685. Similarly, ASCII Carriage-Return (CR) and Line-Feed (LF) character
  686. codes can be entered directly as <Ctrl-M> and <Ctrl-J>.  TERSE
  687. interprets the <CR> character as an end-of-line.  An <LF> is considered
  688. an ordinary text character except when it is immediately preceded by
  689. a <CR>, in which case it is considered part of the end-of-line marker.
  690. If <CR><LF> are entered together, or ever become adjacent, they cannot
  691. be separated.  The <Enter> key inserts an end-of-line marker (CR)(LF).
  692.  
  693. TERSE does not use the CP/M style End-of-file marker, <Ctrl-Z>, to
  694. indicate the last character in a text file.  If a <Ctrl-Z> character
  695. appears in the file, it is shown as is.
  696.  
  697. The Screen
  698. -----------
  699. TERSE configures itself to the display adapter in use, and supports
  700. text modes other than the standard 80 columns by 25 rows, e.g., EGA
  701. 43 lines and CGA 40 columns mode.  <PgUp> and <PgDn> scroll the file
  702. by the number of rows displayed.  TERSE does not work properly if the
  703. screen is initially in a graphics mode.
  704.  
  705. TERSE does not alter screen attributes or colors.  Inverse video is used
  706. in the status line and to indicate a MARKed block.  TERSE uses blinking
  707. inverse video to indicate that the search string has been found.
  708. It automatically handles "de-snow" on a CGA display.
  709.  
  710. Because TERSE makes BIOS calls and writes directly to the screen
  711. buffer, it would probably not work properly on MS-DOS computers that
  712. are not sufficiently IBM-PC compatible.
  713.  
  714. The Status Line
  715. ---------------
  716. At the bottom of the editing screen is the Status Line.  The Status
  717. Line constantly displays information regarding the file you are
  718. currently editing.  The Status Line is shown below with a description
  719. of the information displayed.
  720.  
  721. +--------------------------------------------------------------------------+
  722. :F1 Help | Line 137  Col 25    =282  +0  @893  #10324 Ins letter.doc*      :
  723. +---+----------+--------+-------+-----+---+------+-----+-----+------+------+
  724.     :          :        :       :     :   :      :     :     : File modified
  725.     :          :        :       :     :   :      :     :     : since last
  726.     :          :  The current   :     :   :      :     :     : written
  727.     :          :  cursor column :     :   :      :     :     :
  728.     :          :  number        :     :   :      :     : The name of file
  729.     :          :                :     :   :      :     : you are editing
  730.     :     The current           :     :   :      :     :
  731.     :     cursor line           :     :   :      :     +Insert mode is ON
  732.     :     number                :     :   :      :
  733.     :                           :     :   :      +File length in characters
  734.  A reminder that                :     :   :
  735.  Help screen is                 :     :   +Current offset in file
  736.  available upon                 :     :
  737.  pressing the                   :     +The number of columns scrolled off
  738.  <F1> key                       :       to the left of the screen
  739.                                 :
  740.                                 +The total number of lines in the file
  741.  
  742.  
  743. ┌──────────────────────────────────────────────────────────────────────────────┐
  744. │F1 Help | Line 137   Col 25    =282  +0    @893   #10324 Ins letter.doc*      │
  745. └───┬──────────┬─────────┬───────┬─────┬─────┬───────┬─────┬─────┬──────┬──────┘
  746.     │          │         │       │     │     │       │     │     │ File modified
  747.     │          │         │       │     │     │       │     │     │ since last
  748.     │          │   The current   │     │     │       │     │     │ written
  749.     │          │   cursor column │     │     │       │     │     │
  750.     │          │   number        │     │     │       │     │ The name of file
  751.     │          │                 │     │     │       │     │ you are editing
  752.     │     The current            │     │     │       │     │
  753.     │     cursor line            │     │     │       │     └Insert mode is ON
  754.     │     number                 │     │     │       │
  755.     │                            │     │     │       └File length in characters
  756.  A reminder that                 │     │     │
  757.  Help screen is                  │     │     └Current offset in file
  758.  available upon                  │     │
  759.  pressing the                    │     └The number of columns scrolled off to
  760.  <F1> key                        │       to the left of the screen
  761.                                  │
  762.                                  └The total number of lines in the file
  763.  
  764.  
  765. KEYBOARD SUMMARY
  766. =================
  767. The following is a description of all TERSE commands and their key
  768. binding.  To get a help screen with keyboard usage summary, hit <F1> or
  769. <Alt H>.
  770.  
  771. Cursor movements
  772. -----------------
  773.  <Left Arrow>            Moves cursor left one column
  774.  <Right Arrow>           Moves cursor right one column
  775.  <Ctrl Left Arrow>       Moves cursor to the beginning of the next word.
  776.  <Ctrl Right Arrow>      Moves cursor to the beginning of previous word.
  777.  <Home>                  Moves cursor to start of line
  778.  <End>                   Moves cursor to end of line
  779.  <Up Arrow>              Moves cursor up one row
  780.  <Down Arrow>            Moves cursor down one row
  781.  <PgUp>                  Moves text window up one page
  782.  <PgDn>                  Moves text window down one page
  783.  <Ctrl PgUp>             Moves cursor to top of file
  784.  <Ctrl PgDn>             Moves cursor to bottom of file
  785.  
  786. Basic editing operations
  787. ------------------------
  788.  Any keyboard char       Insert/Overwrite character into file
  789.  <Tab>                   Insert tab character
  790.  <Enter>                 Start new line, add <CR><LF> pair to file.
  791.  <Backspace>             Delete character to left of cursor
  792.  <Del>                   Delete character under cursor (to right)
  793.  <Alt U>                 Undo recent <Del> operation/Overwritten
  794.                          characters.
  795.  <Alt I>                 Toggle between Insert/Overwrite mode (Ins/Ovr)
  796.  <Alt K>                 Delete to end of line
  797.  <Alt D>                 Delete current line
  798.  <Alt Y>                 Restore deleted line (up to 255 characters)
  799.  
  800. Block Operations
  801. ----------------
  802.  <Alt A>                 drop/raise Anchor.  Block is between anchor and
  803.                          cursor.
  804.  <Keypad-Plus>           Copy block to clipboard buffer
  805.  <Keypad-Minus>          Delete block to clipboard buffer
  806.  <Ins>                   Paste from clipboard buffer
  807.  <Alt P>                 Print block.
  808.  
  809. Search
  810. ------
  811.  <Alt S>                 Search for string
  812.  <Alt C>                 Toggle search case sensitivity.
  813.  <Alt N>                 Find next occurrence of string
  814.  <Alt T>                 Search and Translate
  815.  
  816. File Operations
  817. ---------------
  818.  <Alt Q>                 Quit edit: no-save exit (asks for confirmation)
  819.  <Alt X>                 eXit and save: same as Quit if file name is unknown
  820.  <Alt O>                 Change output file name.  Supply name if not given.
  821.  <Alt W>                 Write  the  current  buffer  into  its  file  (if
  822.                          filename known)
  823.  <Alt R>                 (in SLIM only) Read a file to buffer.
  824.  
  825. Scrolling
  826. ---------
  827.  <Alt ->                 Scroll window horizontally to the left
  828.  <Alt +>                 Scroll window horizontally to the right
  829.  <Ctrl Home>             Scroll window up
  830.  <Ctrl End>              Scroll window down
  831.  
  832. Misc
  833. ----
  834.   <Alt I>                Insert/Overwrite toggle.
  835.   <Alt Z>                Push to dos.
  836.   F1                     Display the help screen.
  837.   <Alt H>                Display the help screen.
  838.  
  839. Entering Special Characters
  840. ---------------------------
  841.  <Ctrl @>                Enter the [NUL] character
  842.  <Ctrl A>                Enter the [SOH] character
  843.  ...                     All ctrl characters can be inserted this way
  844.  ...                     Special control characters are described  below
  845.  <Ctrl C>                Enter the [ETX] character  (DOS abort disabled)
  846.  ...                     ...
  847.  <Ctrl H>                Enter the [BS] character
  848.  <Ctrl I>                Enter the [TAB] character
  849.  <Ctrl J>                Enter the [LF] character
  850.  ...                     ...
  851.  <Ctrl M>                Enter the [CR] character
  852.  ...                     ...
  853.  <Ctrl Z>                Enter the [SUB] character (No CP/M style EOF)
  854.  <Ctrl [>                Enter the [ESC] character
  855.  <Esc>                   Enter the [ESC] character
  856.  <Ctrl \>                Enter the [FS] character
  857.  <Ctrl ]>                Enter the [GS] character
  858.  <Ctrl ^>                Enter the [RS] character
  859.  <Ctrl _>                Enter the [US] character
  860.  <Ctrl Backspace>        Enter the [DEL] character
  861.  
  862.  
  863. ADVANCED FEATUERES
  864. ==================
  865.  
  866. Many features can be easily added to SLIM by virtue of the "pump block
  867. thru buffer (bound to the <Alt-F> key) command. Word counting, date
  868. and time stamping, formatting, sorting, column summation, character
  869. sets conversions are just a few examples.  Sophisticated users should
  870. probably get copy of a DOS port of the famous UNIX 'sed' and 'awk',
  871. and harness their power to enhance SLIM.  The effects of the extenal
  872. filter can be undone by using "exchange marked block with paste buffer"
  873. (bound to the <Keypad *> key).
  874.  
  875.  
  876. KNOWN BUGS AND FUTURE DIRECTIONS
  877. =================================
  878.     o     Horizontal scrolling does not move the cursor position, so by
  879.           pressing <Alt +> and <Alt -> you can scroll to the right
  880.           or to the left but only to the extent which leaves
  881.           the current cursor position visible.  For example when the
  882.           cursor is in the left most column, no horizontal scrolling
  883.           is possible.  There are no plans for modifying this behavior
  884.           as the author feels that it is very reasonable.  Strong user
  885.           pressure may change this.
  886.  
  887.     o     <Alt-U> only restores the last character erased by
  888.           <Backspace>.  (Future plan is to push deleted characters (by
  889.           <DEL>, <Backspace> and overwritten characters) to a stack.
  890.           The stack will have limited depth, and as characters
  891.           are pushed in, old characters stored deeply in the stack
  892.           disappear.  The <Alt U> will pop characters from the stack
  893.           and insert/append them.)
  894.  
  895.     o     Editing can get extremely slow if lines are excessively long.
  896.           Lines longer than 20,000 characters cause a noticeable
  897.           delay after every editing operation on these lines.
  898.  
  899.  
  900. Version History
  901. ===============
  902.  
  903. New in version 1.41
  904. ===================
  905. 1) The following UNIX like filters were introduced: uudecode, fold, expand, 
  906.    and unexpand. [Some of these filters include software developed by the 
  907.    University of California, Berkeley and its contributors.] The cat 
  908.    filter recognizes wild cards now.
  909.  
  910. 2) The "pump block thru external filter command" was improved:
  911.    SLIM  displays an error message if this command is attempted 
  912.    when no block was marked.  It beeps if an external filter cannot 
  913.    be executed. The standard error of a fiter is also inserted into 
  914.    the buffer. Eliminated a bug related to passing command 
  915.    line arguments to filter on non-4dos systems.
  916.  
  917. 3) Several bugs in the configuration utilities were fixed. An
  918.    option for setting a default right margin (for word wrap)
  919.    was introduced.
  920.  
  921. 4) Corrected a bugs which garbled line numbering after
  922.    a translate command which had LF characters in the 
  923.    replaced string or in the new string. (18 bytes squeezed in)
  924.  
  925. 5) Incorportated user comments into the documentation.
  926.  
  927. Version 1.4
  928. -----------
  929. 1) The source code of TERSE is now made available to the public for a
  930.    very modest registration fee of $20: $15 for the basic registration,
  931.    and an additional $5 for the source code.
  932.  
  933. 2) The pre-release of SLIM was greatly enhanced. SLIM can do every
  934.    thing TERSE can, and has the following additional features:
  935.  
  936.    o  "read file into buffer" command <Alt-R>
  937.    o  "switch to another file" command <Alt-E>, 
  938.    o  "go to line number" command <Alt-G>, 
  939.    o  "set right margin" command <Alt-M>,
  940.    o  "swap cursor and mark" command <Shift-Tab>, 
  941.    o  "pump block thru external filter" command <Alt-F>, 
  942.    o  "exchange marked block with paste buffer"  command <Keypad *>, and 
  943.    o   display of the hexadecimal value of the current char in the 
  944.        status line. 
  945.  
  946.    The current char display uses a special notation for the TAB, EOF
  947.    and CR characters as well as for the CRLF combination.
  948.  
  949.    My favourite new command is "pump block thru external filter" 
  950.    (<Alt-F> key), which can be undone (and then redone) by the 
  951.    "exchange block with paste buffer"  command (<Keypad *> key).
  952.    Think of the possibilities: formatting, spelling, word counting, 
  953.    sorting, sed and awk, DOS and 4DOS commands etc. 
  954.  
  955.  
  956. 3) Whenever TERSE prompts you for an input it also offers your
  957.    previous input to the same prompt as a default response string.  For
  958.    example, upon pressing <Alt-S>, TERSE displays the prompt "Search
  959.    for: " in the status line, and offers your previous response
  960.    to the prompt "Search for: ".  You can use this previous response
  961.    unchanged (hit <ENTER>) or you can delete characters from it (use the
  962.    <Backspace> key) or you can add characters to it (hit any arrow key,
  963.    and start adding characters.  If you immediately start typing a new
  964.    entry, the default string is deleted and replaced by what you type.
  965.    Hitting the <Ctrl-U> key deletes all of the currently entered 
  966.    response.  The configuration utilities allow changing <Ctrl-U> to any
  967.    other control letter. (13 bytes squeezed in.)
  968.  
  969. 4) Several external filters are now included in the unabridged
  970.    distribution.  These utilities are intended to be used in conjunction
  971.    with the "pump block thru external filter" command of SLIM.  These
  972.    filters include among others: 'cat', 'wc', 'lf', 'crlf', 'quote' and
  973.    'nfmt'.  With the exception of 'nfmt', the registration of TERSE
  974.    includes registration of all of these programs.  Ross Paterson,
  975.    <rap@doc.ic.ac.uk> the author of NFMT, recently posted the sources
  976.    in the alt.sources usenet newsgroup.  Porting to the PC and some
  977.    packaging was done by myself.
  978.  
  979. 5) Several useful utilities are now included in the unabridged
  980.    distribution.  These utilities include among others the following
  981.    programs: 'esc', 'lptstat', 'bigc', 'litc'.  The registration of TERSE
  982.    includes registration of all of these utilities.
  983.  
  984. 6) A pre-release of TERSE for the HP 95lx palmtop (named h.com) is
  985.    now included in the unabridged distribution.  This program, together
  986.    with the option in the configuration utilities to set the file size
  987.    replaces WEE.  The key binding of H.COM is slightly different than
  988.    that of TERSE and SLIM, to support the keyboard of the HP 95lx.
  989.  
  990. 7) The font loader and the fonts used for editing binary files are
  991.    now included in the unabridged distribution.
  992.  
  993. 8) The configuration utilities have been enhanced.  Among other
  994.    things, more control of the status line attributes was added and
  995.    more options of automatic horizontal scroll.  Thanks to Mike Bessy
  996.    (from JP Soft- ware) <75300.1215@compuserve.com> and to Terry Chan
  997.    <echan@chinug.acns.nwu.edu> for suggesting some of these changes.
  998.  
  999. 9) The distribution of TERSE now includes a batch file to assist
  1000.    in invoking the editor on several files.  An .BTM file for setting
  1001.    appropriate aliases in 4DOS is included as well.
  1002.  
  1003. 10) Many of the documentation and configuration utilities
  1004.     typos have been corrected.  Special thanks to Joan Abarbanel
  1005.     <abraban@taunivm.tau.ac.il> for her careful proofreading of a previous
  1006.     version of this file.  Terry Chan <echan@chinug.acns.nwu.edu> did a
  1007.     great job of pointing out to me errors and typos in the configuration
  1008.     utilities as well as in the documentation.  [Note that I still take
  1009.     the credit and blame for all remaining errors which have not yet been
  1010.     found and corrected.]
  1011.  
  1012. 11) The following scenario used to create a file of length 0:
  1013.  
  1014.     T newfile
  1015.     <Alt-Q>
  1016.  
  1017.     This bug has been fixed.  Thanks to the many kind users who brought
  1018.     this bug to my attention.  (4 bytes of code added.)
  1019.  
  1020. 12) TERSE recognizes and parses correctly file names which include
  1021.     dots in them (e.g., ..\..\file.dat). Previously, such files would
  1022.     not be saved.  (20 bytes code squeezed in.)
  1023.  
  1024. 13) TERSE can now read files of size 65,535 exactly.  Previously,
  1025.     files of this size could be created by TERSE, but not read by it.
  1026.     (4 bytes code squeezed in.)
  1027.  
  1028. 14) Eliminated several bugs related to the display of the help screen,
  1029.     including the mis-alignment when ANSI console driver was present,
  1030.     eliminated.  (12 bytes gained.)
  1031.  
  1032. 15) Eliminated a bug which could have caused TERSE to hang after
  1033.     pushing to DOS version 2.x.  (4 bytes code squeezed in.)
  1034.  
  1035. 16) Terse now beeps whenever a save file attempt fails.  Previously, the
  1036.     only indication of such an error was that the "Write successful"
  1037.     message didn't appear. (2 bytes code squeezed in.)
  1038.  
  1039. 17) Next/Previous line now recognize all of the following characters
  1040.     as word separators: space, tab, vertical tab, carriage return, line
  1041.     feed, and form feed.
  1042.  
  1043. Version 1.3
  1044. -----------
  1045. 1) Simplified and unified the configuration utilities.
  1046.  
  1047. 2) Added a pre-release of LEAN, WEE and SLIM.
  1048.  
  1049. 3) Included some of the configuration utilities in the shareware
  1050.    distribution.  The font loaders required for binary file editing
  1051.    are still part of the registration package.
  1052.  
  1053. 4) Fixed a bug, introduced in version 1.2, that prevented the display
  1054.    of the status line.
  1055.  
  1056. Version 1.2
  1057. -----------
  1058. 1) Code size was shrunk by another 9 (!) bytes.
  1059.  
  1060. 2) The restriction on distribution by fee shareware distributors has
  1061.    been removed.
  1062.  
  1063. 3) After a successful print (Alt-P), the marked block is unmarked.
  1064.  
  1065. 4) Pre-Release versions of SLIM, LEAN, WEE and TERSE for HP 95 LX
  1066.    palmtop computer are available upon request.
  1067.  
  1068. Version 1.1
  1069. -----------
  1070. 1) A bug in the snow prevention routine which caused TERSE to hang
  1071.    on some CGA systems has been corrected.  TERSE should run now with
  1072.    no problems on all adapters.  Many thanks to Andrea Omodeo (E-mail
  1073.    address: <ele9037@cdc835.cdc.polimi.it>) for identifying the bug
  1074.    and for suggesting the correction.
  1075.  
  1076. 2) After considerable work, the 27 bytes code fragment required for
  1077.    DESQview awareness was squeezed in.  TERSE can now run in a DESQview
  1078.    window, and it is fully DESQview aware.
  1079.  
  1080.  
  1081.